iT邦幫忙

2024 iThome 鐵人賽

DAY 11
0
自我挑戰組

Unity入門遊戲開發與實作系列 第 11

【Day 11】進入物理的世界!

  • 分享至 

  • xImage
  •  

今天要來接觸 Unity 的物理世界,模擬模型物體之間的物理碰撞和在現實世界中的自然下落,這些都可以用 Unity 的物理引擎來完成。

首先我們建立一個方塊,右鍵點擊 Hierarchy 視窗中的空白處,選擇 3D Objects -> Cube
https://ithelp.ithome.com.tw/upload/images/20240925/20169301BZB15fpLeI.png
這樣我們就成功生成了一個方塊!
但是他距離我們有一點遠,我們可以在 Scene 視窗中按下 F 來讓鏡頭快速定位到我們所選的物體上。
https://ithelp.ithome.com.tw/upload/images/20240925/20169301IuAHqKWi86.png

自然下落

如果想要讓物體在場景中模擬現實世界裡的自然下落,我們可以對物體套用 Rigidbody 組件。

  1. 在畫面中或 Hierarchy 視窗中點選想要添加效果的物體。
  2. Inspector 視窗中按下 Add Component ,並且選擇 Physics -> Rigidbody
    https://ithelp.ithome.com.tw/upload/images/20240925/20169301otH5FZJJgn.png
  3. 添加後,Rigidbody 組件的 Use Gravity 選項會自動打開,這意味著物體會受到重力影響並自然下落。
    這時候我們按下 Play 按鍵後就可以看到方塊向下掉落了!
    https://ithelp.ithome.com.tw/upload/images/20240925/20169301V4PD8yRdcU.png
    https://ithelp.ithome.com.tw/upload/images/20240925/20169301dC7uAApEM1.png
  • Unity 的重力值可以在 Edit-> Project Settings -> Physics 中修改(預設是 -9.81 m/s²)
    https://ithelp.ithome.com.tw/upload/images/20240925/20169301ylivHlaBTT.jpg

物理碰撞

Unity 使用 Collider 組件來實現物體的碰撞檢測。為了實現物體之間的碰撞,兩個物體都需要有 Collider 組件。

為了能觀察物體的碰撞,我們需要先建立一個地板:

  • 像剛剛一樣創建一個 Cube,然後進到 Inspector 面板中把 XZ 軸的 Scale 調整成 10
    https://ithelp.ithome.com.tw/upload/images/20240925/20169301SShWM4kTE8.png
  • 再創建一個方塊,並且把它的位置往上移動一點
  • 確認兩個物體都添加了 Collider,例如,一個立方體會自動帶有 Box Collider ,球體會有 Sphere Collider
  • 按下 Play 按鍵之後就可以看到立方體向下墜落並且停在地板上囉。
    https://ithelp.ithome.com.tw/upload/images/20240925/20169301oEO6ut6PXG.png

如果兩個物體都帶有 Collider,並且其中至少一個物體有 Rigidbody 組件,Unity 會自動處理它們之間的物理碰撞。

更多的碰撞反應

  • 彈性係數: 如果想調整物體碰撞時的反彈效果,可以為物體的 Collider 添加物理材質。在 Project 面板中右鍵 Create -> Physic Material,然後在 Bounciness 屬性中設置反彈係數,並且將 Material 套用到物體的 Collider 組件,這樣就可以在物體相碰的時候有彈跳的效果囉。
  • 摩擦力: 也可以調整 Friction 來改變物體滑動時的摩擦效果。

上一篇
【Day 10】如何將模型的貼圖正確映射到模型上
下一篇
【Day 12】製作一個簡單 Unity 小遊戲(一)場景建設
系列文
Unity入門遊戲開發與實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言